#include <iostream>

class Base
{
public:
    void func(int a)
    {
        std::cout<<"func(int)"<<std::endl;
    }
    Base operator+(const Base& b)
    {
        return b;
    }
private:   
};

class Derived:public Base
{
public:
    void func(int a,int b)
    {
        std::cout<<"func(int,int)"<<std::endl;
    }
};





int main()
{
    Derived d;
    //名词遮蔽:同名函数就会形成遮蔽
    d.Base::func(1);

    //函数重载不能被继承
    Base a,b;
    Base c = a + b;
    
    Derived d,e;
    Derived f = d + e;
    return 0;
}